<?php
/**
 * Created by PhpStorm.
 * User: zd
 * Date: 2019/3/25
 * Time: 18:15
 */

namespace app\server\controller;


use Workerman\Connection\AsyncTcpConnection;

class DeliveryTask
{
    function __construct($task_name,array $parameter)
    {
        // 与远程task服务建立异步链接，ip为远程task服务的ip，如果是本机就是127.0.0.1，如果是集群就是lvs的ip
        $task_connection = new AsyncTcpConnection('Text://0.0.0.0:27000');
        // 任务及参数数据
        $task_data = array(
            'function' => $task_name,
            'args'       => $parameter,
        );
        // 发送数据
       $task_connection->send(json_encode($task_data));
        // 异步获得结果
        $task_connection->onMessage = function($task_connection, $task_result)
        {
            //print_r($task_result);
            // 获得结果后记得关闭链接
            $task_connection->close();
        };
        // 执行异步链接
        $task_connection->connect();
    }
}